package kibahed.schnapsen.gui;

public class SchnapsTischProperties {
	
	int hoehe = 500;
	int breite = 800;
	int buttonPanelHoehe = 40;
	double kartenPanelHoehe = 20;
	double originalKartenHoehe=91;
	double originalKartenBreite=59;
	double kartenHoehe = 20;
	double kartenBreite = kartenHoehe*originalKartenBreite/originalKartenHoehe;
	
	double bummerlAnzeigeBreite = 10;
	double deckPosX = 90;
	double adutPosX = 80;
	double stichPanelPosY = 5;
	double stichPanelPosX = 60;
	double firstStichPosX = 15;
	double stichePosX=5;
	double playedCardPosX = 70;
	double stichPanelBreite = 20;
	double pairHeight = 5;
	double pairWidth = 20;
	double multiplier = 1.2;
	

	public int getHoehe() {
		return hoehe+buttonPanelHoehe;
	}

	public void setHoehe(int hoehe) {
		this.hoehe = hoehe-buttonPanelHoehe;
	}

	public int getBreite() {
		return breite;
	}

	public void setBreite(int breite) {
		this.breite = breite;
	}

	public int getButtonPanelHoehe() {
		return buttonPanelHoehe;
	}

	public double getOriginalKartenHoehe() {
		return originalKartenHoehe;
	}

	public void setOriginalKartenHoehe(double originalKartenHoehe) {
		this.originalKartenHoehe = originalKartenHoehe;
	}

	public double getOriginalKartenBreite() {
		return originalKartenBreite;
	}

	public void setOriginalKartenBreite(double originalKartenBreite) {
		this.originalKartenBreite = originalKartenBreite;
	}

	public int getKartenHoehe() {
		return (int)(kartenHoehe*hoehe/100.);
	}

	public int getKartenBreite() {
		return (int)(kartenBreite*hoehe/100.);
	}

	public int getBummerlAnzeigeBreite() {
		return (int)(bummerlAnzeigeBreite*hoehe/100.);
	}

	public int getStichPanelBreite() {
		return (int)(stichPanelBreite*hoehe/100.);
	}

	public int getStichPanelPosY() {
		return (int)(stichPanelPosY*hoehe/100.);
	}

	public int getStichPanelPosX() {
		return (int) Math.min((int)(stichPanelPosX*breite/100.),getPlayedCardPosX()-2.5*getIncreasedCardWidth());
	}

	public int getDeckPosX() {
		return Math.min((int)(deckPosX*breite/100.),getBreite()-getIncreasedCardWidth());
	}

	public int getAdutPosX() {
		return Math.min((int)(adutPosX*breite/100.),getDeckPosX()-getIncreasedCardWidth());
	}

	public int getPlayedCardPosX() {
		return Math.min((int)(playedCardPosX*breite/100.),getAdutPosX()-getIncreasedCardWidth());
	}

	public int getPairHeight() {
		return (int)(pairHeight*hoehe/100.);
	}

	public int getPairWidth() {
		return (int)(pairWidth*hoehe/100.);
	}
	
	public int getTableHeight(){
		return hoehe-2*getIncreasedCardHeight();
	}
	
	public int getIncreasedCardHeight(){
		return (int)(getKartenHoehe()*multiplier);
	}
	
	public int getIncreasedCardWidth(){
		return (int)(getKartenBreite()*multiplier);
	}
	
	public double getMultiplier(){
		return multiplier;
	}

	public int getFirstStichPosX() {
		return (int)(firstStichPosX*breite/100.);
	}

	public int getStichePosX() {
		return (int)(stichePosX*breite/100.);
	}
	
	
	

}
